#define _CRT_SECURE_NO_WARNINGS 1


//#include<stdio.h>
//
//int main()
//{
//	int line = 0;
//	scanf("%d", &line);
//	int i = 0;
//	int j = 0;
//	for (i = 0; i < line; i++)
//	{
//		for (j = 0; j < line - i; j++)
//		{
//			printf(" ");
//		}
//		for (j = 1; j <= 2 * i + 1; j++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//
//	for (i = 1; i < line; i++)
//	{
//		for (j = 0; j <= i; j++)
//		{
//			printf(" ");
//		}
//		for (j = 0; j < 2 * (line - i) - 1; j++)
//		{
//			printf("*");
//		}
//		printf("\n");
//	}
//	return 0;
//}



#include<stdio.h>
#include<math.h>

int main()
{
	int i = 0;
	for (i = 0; i <= 100000; i++)
	{
		int count = 1;
		int temp = i;
		while (temp > 9)
		{
			temp /= 10;
			count++;
		}
		int sum = 0;
		temp = i;
		while (temp)
		{
			sum += (unsigned int)pow(temp % 10, count);
			temp /= 10;
		}
		if (sum == i)
		{
			printf("%d ", i);
		}
	}
	return 0;
}


